package com.qf.mapper;

import com.qf.entity.Student;
import com.qf.entity.StudentVO;
import org.apache.ibatis.annotations.Mapper;

import java.util.HashMap;
import java.util.List;

// 接口
@Mapper
public interface StudentMapper {
    // 查询一个数据--根据id找到数据
    Student findById(int id);

    //查询全部
    List<Student> selectAll();

    //模糊查询
    List<Student> findByKeyword(HashMap<String, Object> map);


    //增加
    int addStudent(Student student);

    //根据任意元素删除
    int deleteStudent(HashMap<String, Object> map);

    //修改
    int updateStudent(HashMap<String, Object> map);

    //批量删除
    int batchDeleteStudent(List<Integer> ids);


    //一对一查询
    List<StudentVO> findAllStudentAndClassroom();

    //查询一个学生信息以及所学习的所有学科信息
    StudentVO findStudentAndAllSubjectByStuid(int id);

    //查询一个学生信息以及所学习的所有学科信息,以及每个学科关联的老师信息
    StudentVO findStudentAndAllSubjectAndTeacherByStuid(int id);


    //根据学生id找到subId
    List<Integer> findAllSubjectId(int id);

    //根据用户名查询学生信息
    Student findStudentByUsername(HashMap<String, Object> map);
}